package heliotrope.mvc
{
	import flash.display.DisplayObject;
	import flash.display.Sprite;
	import flash.errors.IllegalOperationError;
	import flash.events.Event;
	
	import heliotrope.event.ModelEvent;

	public class View
	{
		protected var _model:Model;
		protected var _controller:Controller;
		public function View(model_:Model, controller_:Controller)
		{
			_model = model_;
			_controller = controller_;
			
			_model.addEventListener(ModelEvent.UPDATE, update);
		}
		
		protected function update(evt:Event):void
		{
			throw new IllegalOperationError("Please override the function for use");
		}
		
		public function get view():DisplayObject
		{
			throw new IllegalOperationError("Please override the function for use");
		}
	}
}